package net.feixiang.creational.abstractFactory;

/**
 * 定义创建不同类型 GUI 组件的方法。具体的工厂类将实现这个接口来创建特定的组件。
 *
 * @author 飞翔
 * @see <a href="https://www.feixiang.net/Java%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E7%AC%AC%E4%B8%80%E7%AB%A0%E3%80%81%E5%88%9B%E5%BB%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F/13.html">抽象工厂模式</a>
 */
public interface GUIFactory {
    /**
     * 创建按钮
     *
     * @return 按钮
     */
    Button createButton();

    /**
     * 创建文本框
     *
     * @return 文本框
     */
    TextBox createTextBox();
}